package com.platform.enums;


import com.platform.comm.constants.EnumOption;
import com.platform.comm.enums.IEnumOption;

import java.util.Arrays;
import java.util.Map;
import java.util.stream.Collectors;

/**
 * @author zyj
 * @version 1.0
 * @date 2022-12-26
 * @Description: 消息类型
 */
@EnumOption(name = "lowcodeMsgType")
public enum LowcodeMsgType implements IEnumOption<String>{
    /**
     * 普通
     */
    ORDINARY("普通"),
    /**
     * 预警
     */
    WARNING("预警"),
    /**
     * 规则编排
     */
    LITEFLOW("规则编排"),
    ;
    private final String title;

    LowcodeMsgType(String title) {
        this.title = title;
    }

    @Override
    public String key() {
        return name();
    }

    @Override
    public String value() {
        return title;
    }

    /**
     * 枚举options
     *
     * @return 枚举项组成的map
     */
    @Override
    public Map<String, String> enums() {
        return Arrays.stream(values()).collect(Collectors.toMap(IEnumOption::key, IEnumOption::value));
    }
}
